home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / cc03.arc / LEXCMP.C < prev    next >
Encoding:
Text File  |  1986-03-15  |  776 b   |  28 lines

  1. /*  lexcmp - lexical comparison, -1 ("a" < "b"), 0 ("a" == "b"), or +1 */
  2.  
  3. /*  copyright (c) 1982 by the toolsmith  */
  4.  
  5. int lexcmp(aa, bb, nn)
  6. char *aa, *bb;
  7. unsigned nn;
  8. {
  9.         register char *a, *b;
  10.         register unsigned n;
  11.  
  12.         for (a = aa, b = bb, n = nn; ; a++, b++) {
  13.                 if (tolower(*a) != tolower(*b))
  14.                         return (tolower(*a) - tolower(*b));  /*  unequal  */
  15.                 if (*a == '\0' || --n == 0)
  16.                         break;
  17.         }
  18.  
  19.         for (a = aa, b = bb, n = nn; ; a++, b++) {
  20.                 if (*a != *b)
  21.                         return (*a - *b);  /* unequal */
  22.                 if (*a == '\0' || --n == 0)
  23.                         break;
  24.  }
  25.  
  26.         return 0;   /*  equal  */
  27. }
  28.